#ifndef MODULEFILECONFIG_H
#define MODULEFILECONFIG_H

#include <QWidget>
#include <QFile>
#include <QDomElement>

#include "module/module_header.h"

#define MODULE_END_FORMAT ".mod"
#define MODULE_DIRECTORY_NAME "/module/"

class moduleFileConfig : public QWidget
{
    Q_OBJECT
public:
    explicit moduleFileConfig(QWidget *parent = nullptr);

    void load_Module_Data(QString file_path);

    void create_moduleFile(QString path, Module_Data *);

    void add_child_module(Child_Module_Data *child, QString instantiation_name, QPointF point);

    Module_Data *get_module_data();

    QString get_module_name();

signals:

public slots:
    void recv_newModule(QString, Module_Data *);

private:
    Module_Data *Data = new Module_Data;
    QString file_path;

    void init_moduleFile(QFile *fp, Module_Data *);

    void check_moduleDictory(QString path);

};

#endif // MODULEFILECONFIG_H
